home *** CD-ROM | disk | FTP | other *** search
- /***********************************************************
- daum(hanmail)
- ***********************************************************/
- var hostString="";
- var supportInboxOnly=true;
- var supportShowFolders=true;
-
- function init(){
- this.loginData=["https://logins.daum.net/Mail-bin/login.cgi",
- "id","pw"];
- this.dataURL="http://hmail2.daum.net/hanmailex/Top.daum";
- this.mailURL="http://mail.daum.net/hanmail/Index.daum";
- this.mailDomain="mail.+?.daum.net";
- this.retry=1;
- }
-
- function process(aHttpChannel, aData) {
- switch(this.stage){
- case ST_LOGIN_RES:
- this.getHtml("http://hmail2.daum.net/hanmailex/Top.daum");
- return false;
- case (ST_LOGIN_RES+1):
- var fnd=aData.match(/goClassic\(/);
- this.isClassic=false;
- if(!fnd){
- this.isClassic=true;
- this.dataURL="http://mail.daum.net/hanmail/Welcome.daum?cid=&msg="
- }else this.dataURL="http://hmail2.daum.net/hanmailex/Top.daum";
- this.stage=ST_DATA;
- break;
- case ST_DATA_RES:
- this.baseProcess(aHttpChannel, aData);
- if(this.mailCount<0){
- if(this.retry<1){
- ++this.retry;
- this.checkMail();
- }
- }else this.retry=0;
- return true;
- }
- return this.baseProcess(aHttpChannel, aData);
- }
- function getCount(aData){
- return this.mailCount;
- }
- function getData(aData){
- var obj={}
- if(this.isClassic){
- var fnd=aData.match(/\uc548\uc77d\uc740[\s\S]+?>(\d+)<\/a>\s*?\ud1b5/);
- if(fnd){
- this.mailCount=parseInt(fnd[1]);
- }else{
- this.mailCount=-1;
- }
- return obj;
- }else{
- var fnd=aData.match(/folderList:\[([\s\S]+?)\]/);
- if(fnd){
- var ar=[];
- var num=0;
- var re=/{.+?\'name\':\"(.+?)\".+?\'newCount'\:(\d+)/g;
- var o;
- while ((o = re.exec(fnd[1])) != null){
- if(o[1]=="\\uBCF4\\uB0B8\\uD3B8\\uC9C0\\uD568")continue;
- if(o[1]=="\\uC784\\uC2DC\\uBCF4\\uAD00\\uD568")continue;
- if(o[1]=="\\uC2A4\\uD338\\uD3B8\\uC9C0\\uD568")continue;
- if(o[1]=="\\uD734\\uC9C0\\uD1B5")continue;
- if(o[1]==":\\uC218\\uC2E0\\uD655\\uC778:")continue;
- var n=0
- if(o[2])n=parseInt(o[2]);
- if(this.inboxOnly){
- if(o[1]=="\\uBC1B\\uC740\\uD3B8\\uC9C0\\uD568")num=n;
- }else num+=n;
- if(n>0&&o[1]!="\\uBC1B\\uC740\\uD3B8\\uC9C0\\uD568"){
- var name=unescape(o[1].replace(/\\/g,"%"));
- ar.push(name);
- ar.push(n);
- }
- }
- this.mailCount=num;
- if(this.showFolders){
- if(ar)obj.folders=encodeArray(ar);
- }
- return obj;
- }else{
- this.mailCount=-1;
- return obj;
- }
- }
- }
- function getMailURL(aFolder){
- if(!this.isClassic&&aFolder){
- return "http://mail.daum.net/hanmail/Index.daum?COMMAND=list&FOLDER="+encodeURIComponent(aFolder);
- }
- return this.mailURL;
- }